1. Field of the Invention
The present invention relates generally to a communication system and, in particular, to a communication method and apparatus for a communication system using Low-Density Parity-Check (LDPC) code to improve coding efficiency using the trade-off relationship between the circuit implementation and operation complexity and the delay complexity determining the performance of an LDPC encoder.
2. Description of the Related Art
In wireless communication systems, link throughput is significantly degraded by factors such as various noises, fading effect, and Inter-Symbol Interference (ISI). In order to fulfill the high data rate and liability requirements of the broadband data transmission systems such as next generation mobile communication systems and digital broadcast systems, it is highly necessary to overcome the noise, fading and ISI problems. For this reason, research has been extensively conducted to find the error-correcting codes that can recover the original codeword more efficiently and thus improve the communication reliability.
Soon after the invention of the LDPC codes by Robert Gallager, these codes were somewhat disregarded due to their implementation complexity surpassing the technology at that time. The discovery of turbo codes by Berrou, Glavieux, and Thitimajshima in 1993, which illustrates a code rate near the Shannon's channel capacity, has directed analytical research toward the performance and characteristics of the turbo code and iterative decoding and graph-based channel encoding. This research caused a return to the study of the LDPC code in the late 1990's, and the LDPC code has been found to achieve information rates very close to the Shannon limit with the iterative decoding based on the sum-product algorithm using a Tanner graph (a special case of a factor graph) representing the LDPC code.
The LDPC code is usually represented by a bipartite graph, and its characteristics can be analyzed using the methods based on the graph theory, algebra, and probability theory. Typically, a graph model of a channel code is useful for describing a code. When information on an encoded bit corresponds to a vertex in a graph and the relation between encoded bits corresponds to an edge (i.e. a line segment), the graph model of the channel code may be considered as a communication network in which vertexes exchange predetermined messages through edges, thereby deriving a natural decoding algorithm. For instance, a decoding algorithm derived from a trellis, which is a type of graph, includes a well-know Viterbi algorithm and a Bahl, Cocke, Jelinek, and Raviv (BCJR) algorithm.
The LDPC code is conventionally defined by a parity-check matrix and can be represented by a bipartite graph, commonly called a Tanner graph, in which vertexes are divided into two different types. The LDPC code is represented by the bipartite graph formed by vertexes called “variable node” and “check node.” A variable node corresponds to an encoded bit. However, the conventional LDPC encoding/decoding method suffers from operational complexities and transmission delay. Therefore, an efficient LDPC encoding/decoding method is required.